package strauss.flatland;

import strauss.flatland.control.FlatLandControl;
import strauss.flatland.model.FlatLandModel;
import strauss.flatland.view.FlatLandGUI;

public class FlatLandEntry {
	public static void main(String[] args) {
		// start the system
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				// construct the model
				FlatLandModel model = new FlatLandModel();
				// fire up the controller thread
				FlatLandControl controller = new FlatLandControl(model); 
				// pass responsibility of the controller thread to the view
				// the view is now responsible for killing the model
				// all good - start up the puppy
				FlatLandGUI.createAndShowGUI(model, controller);
			}
		});
		
	}
}
